import { reqspecslist, reqspecscount } from "../../http/api"
//状态
let state = {
    arr: [],
    total: 0,//总条目
    size: 2,//一页的条目
    page: 1,//当前的页码


}

//导出数据
let getters = {
    //
    arr(state) {
        return state.arr
    },
    total(state) {
        return state.total
    },
    size(state) {
        return state.size
    }
}

//修改状态
let mutations = {
    changeArr(state, arr) {
        state.arr = arr
    },
    changeTotal(state, total) {
        state.total = total
    },
    changePage(state, page) {
        state.page = page
    }
}

//做异步 做逻辑
let actions = {
    reqList({ state: { page, size }, commit, dispatch },all=false) {
        let params = all?{}:{page,size}
        reqspecslist(params).then(res => {
            if (res.data.code === 200) {
                let arr = res.data.list ? res.data.list : []
                // 获取到arr的长度是0，那么如果当前页不是第1页，需要请求上一页
                if (arr.length == 0 && page != 1) {
                    commit('changePage', page - 1)
                    //请求列表
                    dispatch('reqList')
                    return
                }
                commit('changeArr', arr)
            }
        })
    },
    //请求arr
    reqArr({
        commit, dispatch
    }) {
        ///发起请求列表
        dispatch('reqList')



         //请求总数
         reqspecscount().then(res=>{
            if(res.data.code ==200){
                //修改总数
                commit('changeTotal',res.data.list[0].total)
            }
        })
    },
    changePage({ commit, dispatch }, e) {
        //修改page
        commit('changePage', e)
        //请求列表
        dispatch('reqList')

       
    },
     
}

// 导出
export default {
    state,
    getters,
    mutations,
    actions,
    namespaced: true
}